using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Runtime.Serialization;
using System.Xml.Serialization;

namespace Cuahsi.Data.Interop.WaterML2.swe_20
{
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [Serializable()]
    [DebuggerStepThrough()]
    [DesignerCategory("code")]
    [XmlType(Namespace = "http://www.opengis.net/swe/2.0")]
    [XmlRoot("DataStream", Namespace = "http://www.opengis.net/swe/2.0", IsNullable = false)]
    [DataContract(Name = "DataStreamType", Namespace = "http://www.opengis.net/swe/2.0")]
    public partial class DataStreamType : AbstractSWEIdentifiableType
    {

        private DataStreamTypeElementCount elementCountField;

        private DataStreamTypeElementType elementTypeField;

        private DataStreamTypeEncoding encodingField;

        private EncodedValuesPropertyType valuesField;

        public DataStreamType()
        {
            this.valuesField = new EncodedValuesPropertyType();
            this.encodingField = new DataStreamTypeEncoding();
            this.elementTypeField = new DataStreamTypeElementType();
            this.elementCountField = new DataStreamTypeElementCount();
        }

        [DataMember()]
        public DataStreamTypeElementCount elementCount
        {
            get
            {
                return this.elementCountField;
            }
            set
            {
                this.elementCountField = value;
            }
        }

        [DataMember()]
        public DataStreamTypeElementType elementType
        {
            get
            {
                return this.elementTypeField;
            }
            set
            {
                this.elementTypeField = value;
            }
        }

        [DataMember()]
        public DataStreamTypeEncoding encoding
        {
            get
            {
                return this.encodingField;
            }
            set
            {
                this.encodingField = value;
            }
        }

        [DataMember()]
        public EncodedValuesPropertyType values
        {
            get
            {
                return this.valuesField;
            }
            set
            {
                this.valuesField = value;
            }
        }
    }
}